package com.itheima.reggie.config;

import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;

/**
 * @author ：石破天
 * @date ：Created in 2022年07月14日
 * @description ：
 * @version: 1.0
 */
@Slf4j
@Configuration
public class WebMvcConfig extends WebMvcConfigurationSupport {
    /**
     * 设置哪些静态资源 应该进行放行
     *    请求达到 核心控制器之后 springMVC
     *    /  所有请求都会到达  DispatcherServelt
     *     默认的规则 是根据你访问路径---匹配处理器
     *           Controller类中 @RequestMapping("/login")!!!!
     *     静态页面资源 有对应的处理器吗???????
     *        静态资源访问路径  其实 就应该 匹配上 对应的静态资源就可以了
     *       /backend/index.html
     *      写一个 支持 进行资源自定义映射的类
     *          extends WebMvcConfigurationSupport
     *        重写    addResourceHandlers 资源处理
     *
     *        如果请求的是  /backend/ 里面的路径
     *                   让这个路径 映射到 静态资源文件上
     *         设置 静态资源 映射路径
     * @param registry
     */
    @Override
    protected void addResourceHandlers(ResourceHandlerRegistry registry) {
        log.info("开始进行静态资源映射~");
                                     //  路径的匹配规则
        registry.addResourceHandler("/backend/**")
                                  // 上面的路径 去下面这个位置找
                .addResourceLocations("classpath:/backend/");
        registry.addResourceHandler("/front/**")
                .addResourceLocations("classpath:/front/");
    }
}
